<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head>
	<title>Elenco pacchetti, selezionare per vederne i dettagli</title>
	<link href="resources/css/main.css" rel="stylesheet" type="text/css" />
</h:head>
<h:body>
	<header>
		<a><h:link class="logo" outcome="index" /></a>
	</header>
	<div id="container">
		<div id="content1">
			<div id="contentLarge">
	<h:form id="form" onsubmit="#{Retriever.trovaPacchetti()}, #{Retriever.trovaCittaPacchetto()}, ">
				
				<p:growl id="growl" showDetail="true"/>
				<p:growl id="messages" showDetail="true"/>
				
				<p:dataTable id="dataTable" var="pacchetti" value="#{Retriever.listaPacchetti}" widgetVar="pacchettiTable"   
		            emptyMessage="Nessun pacchetto trovato per i parametri specificati." rowKey="#{pacchetti.idPacchetto}"
		            paginator="true" rows="10" selection="#{Retriever.pacchettoSelezionato}" selectionMode="single"
		            filteredValue="#{Retriever.pacchettiFiltrati}">
		            
		        <p:ajax event="rowSelect" listener="#{Retriever.onRowSelect}"
                    update=":form:display :form:growl :form:displayPeople" oncomplete="PF('packetDialog').show()" />
                     
		  		<f:facet name="header">
          			 Visualizza, compra e personalizza pacchetti 
        		</f:facet> 
        		
        		
		        <p:column id="nomeColumn" filterBy="nome"   
		                headerText="Nome"
		                filterMatchMode="contains">  
		                
		            	#{pacchetti.nome} 
		        </p:column>
		  
		  		<p:column id="prezzoColumn" filterBy="prezzo"  
		                headerText="Prezzo (cad.)" filterMatchMode="contains">  
		            
		            	#{pacchetti.prezzo}
		        </p:column>
		        
		        <p:column id="destinazioneColumn" filterBy="destinazione"  
		                headerText="Destinazione" filterMatchMode="contains">  
		            
		          		#{pacchetti.destinazione}
		        </p:column>
        		
        		<p:column id="personalizzaColumn" headerText="Personalizza">
		             <p:commandButton id="personalizzaButton" icon="ui-icon-pencil" title="Personalizza" action="personalizzaPacchetto">  
                		<f:setPropertyActionListener value="#{pacchetti}" target="#{Retriever.pacchettoSelezionato}" />
           			</p:commandButton>
		        </p:column>
        		
        		
        		
		    </p:dataTable> 
		    
		    
        		
		    <p:dialog id="dialog" header="Dettagli pacchetto" widgetVar="packetDialog" resizable="false"  
                showEffect="fade" hideEffect="explode">  
  
	        	<h:panelGrid id="display" columns="2" cellpadding="4">
		            <f:facet name="header">  
		                  <h:outputText value="#{Retriever.pacchettoSelezionato.nome}"/>
		            </f:facet>  
		  
		            <h:outputText value="Prezzo" />  
		            <h:outputText style="font-weight:bold" value="#{Retriever.pacchettoSelezionato.prezzo}" />  
		  
		            <h:outputText value="Descrizione:" />  
		            <h:outputText value="#{Retriever.pacchettoSelezionato.descrizione}" />  
		  
		            <h:outputText value="Destinazione:" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.cittaArrivo}" />  
		  
		            <h:outputText value="Partenza:" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.cittaPartenza}" />
		            
		            <h:outputText value="Aeroporto partenza:" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.aeroportoPartenza}" />
		            
		            <h:outputText value="Aeroporto arrivo:" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.aeroportoArrivo}" />
		            
		            <h:outputText value="Data partenza:" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.data}" />
		            
		            <h:outputText value="Data arrivo" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.dataRitorno}" />
		            
		            <h:outputText value="Durata viaggio:" />  
		            <h:outputText value="#{Retriever.voloPacchettoSelezionato.durata}" />
		            
		            <h:outputText value="Posti disponibili:" />  
		            <h:outputText style="font-weight:bold" value="#{Retriever.voloPacchettoSelezionato.posti_Disponibili}" />
		            
		            <h:outputText value="Hotel:" />  
		            <p:dataList value="#{Retriever.targetHotels}" var="hotel" itemType="disc">  
    						#{hotel.nome}, #{hotel.n_Stelle} stelle, disponibilità: #{hotel.stanze_Disponibili} stanze, prezzo: #{hotel.prezzo}
					</p:dataList> 
		            
		            <h:outputText value="Escursioni:" />  
		            <p:dataList value="#{Retriever.targetEscursioni}" var="escursioni" itemType="disc">  
    						#{escursioni.nome}, #{escursioni.durata} ore, tipologia #{escursioni.tipologia}, stagione: #{escursioni.stagione}, prezzo: #{escursioni.prezzo}
					</p:dataList>
					
		            <p:commandButton id="buyButton" icon="ui-icon-cart" title="Buy" onclick="PF('peopleDialog').show();" type="button"/>
		            
	        	</h:panelGrid>
	        	
    		</p:dialog>
		    
		    <p:dialog id="personeDialog" header="Numero persone" widgetVar="peopleDialog" resizable="false"  
                	  modal="true" showEffect="bounce" hideEffect="explode">  
  				<p:messages autoUpdate="true"/>
  				
	        	<h:panelGrid id="displayPeople" columns="3" cellpadding="4">

		             <f:facet name="header">  
		                  <h:outputText value="Stai comprando: #{Retriever.pacchettoSelezionato.nome}"/>
		            </f:facet>  
		  			
		  			
		  			
		  			<h:outputLabel for="number" value="Numero persone per la prenotazione:" style="font-weight:bold"/>                      
            		<p:spinner id="number" value="#{Retriever.prenotazione.n_Persone}" stepFactor="1" min="1"/>  
            		<p:message for="number" />
		             
	           		<p:commandButton id="confermaButton" icon="ui-icon-cart" title="Conferma" action="#{Retriever.riepilogoPacchetto()}"
	           						 update="form:messages"/>
	           		
	        	</h:panelGrid>
	        	
    		</p:dialog>
    		
	</h:form>
	</div>
	</div>
	</div>
</h:body>
</html>